package com.example.component;

import com.example.vo.PayInfoVO;

/**
 * @author yinxin
 * @version 1.0
 * @Description:
 * @date 2022/6/2015:32
 */
public interface PayStrategy {

    /**
     * 统一下单接口
     * @param payInfoVO
     * @return
     */
    String unifieOrder(PayInfoVO payInfoVO);

    /**
     * 退款接口
     * 1.8后的新抽象方法的语法，可以给方法默认的实现方法类似抽象类
     * @param payInfoVO
     * @return
     */
    default String refund(PayInfoVO payInfoVO){return "";}

    /**
     * 查询支付状态
     * @param payInfoVO
     * @return
     */
    default String queryPayStatus(PayInfoVO payInfoVO){return "";}

    /**
     * 关闭订单
     * @param payInfoVO
     * @return
     */
    default String closeOrder(PayInfoVO payInfoVO){return "";}
}
